package com.topisv.tms.utils;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;
import org.apache.commons.lang3.RandomStringUtils;

public class BackupTaskRule {
	
	/**
	 * 根据拣货单号生成箱子编号
	 * @param backupTaskCode
	 * @return
	 */
	public static String getBoxCode(String backupTaskCode){
		return backupTaskCode.substring(0, backupTaskCode.length()-7)+getPublicEncode(8);
	}
	
	/**
	 * 根据拣货批次号生成出库批次号
	 * @param batchCode
	 * @return
	 */
	public static String getShippedCode(String batchCode){
		return getBackupTaskCode(batchCode);
	}

	/**
	 * 根据拣货批次号生成批货单号
	 * @param customerCode
	 * @return
	 */
	public static String getBackupTaskCode(String batchCode){
		return batchCode.substring(0, batchCode.length()-6)+getPublicEncode(7);
	}
	
	/**
	 * 根据客户编码生成 拣货批次号
	 * @param customerCode
	 * @return
	 */
	public static String getBatchTaskCode(String customerCode){
		return customerCode+getDateString()+getPublicEncode(6);
	}
	
	/**
	 * 生成随机的6位数字
	 * 
	 * @return
	 */
	private static String getPublicEncode(int number) {
		return RandomStringUtils.randomNumeric(number);
	}
	
	/**
	 * 获得当前时间组成的字符串
	 * 
	 * @return
	 */
	private static String getDateString() {
		Date utilDate = new Date();
		SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
		TimeZone timeZoneChina = TimeZone.getTimeZone("Asia/Shanghai");// 获取中国的时区
		format.setTimeZone(timeZoneChina);// 设置系统时区
		return format.format(utilDate);
	}

}
